#pragma once	

#include <vector>
	
	struct vert
	{
		float x,y,z;

		vert(float x=0, float y=0, float z=0)
		{
			this->x = x;
			this->y = y;
			this->z = z;
		}

		void setXYZ(float x, float y, float z)
		{
			this->x = x;
			this->y = y;
			this->z = z;
		}
	};

	
	class TesselCube
	{
	private:
		int segs;
		std::vector< std::vector<int> > indices;
		std::vector<vert>  vertices;
		std::vector<vert>  normals;
		std::vector<vert>  ballVerts;
		std::vector<vert>  ballNormals;

		
	public:
		void init();
		void drawSphere();
		void drawCube();
		void morph(float t);
	};